<!--
@description:
@author: ldb
@time: 2022-09-26 14:00:06
-->
<template></template>

<script lang="ts" setup>
import { onMounted } from 'vue'
import dayjs, { Dayjs } from 'dayjs'

onMounted(() => {
  // 格式化
  // console.log(dayjs().format('YYYY-mm-DD HH:mm:ss'))
  // 解析 | 效验
  // 时间戳
  // console.log(dayjs(1318781876406).format('YYYY-MM-DD HH:mm:ss'))
  // console.log(dayjs(1318781876406).clone())
  // console.log(dayjs(1318781876406).isValid())
  // 严格效验合法
  console.log(dayjs('2022-02-31', 'YYYY-MM-DD', true).isValid())
  // 取值 | 赋值 todo 不传参数为get 传参数为set
  // console.log(dayjs().second(30))
  // console.log(dayjs().millisecond(30))
  // console.log(dayjs().minute(30))
  // console.log(dayjs().minute(12))
  // 获取或设置月份里的日期接受1到31的数字。 如果超出这个范围，它会进位到月份。
  // console.log(dayjs().date(12))
  // console.log(dayjs().day())
  //年-日期-月-周-偏移 todo 需要先获取插件
  // dayjs('2010-01-01').dayOfYear(365) // 2010-12-31
  // dayjs('2018-06-27').week(5)
  // dayjs().month(0)
  // dayjs('2010-04-01').quarter(2)
  // dayjs().year(2000)
  // 获取值
  // dayjs().get('year')
  // dayjs().get('month')
  // dayjs().get('date')
  // dayjs().get('hour')
  // dayjs().get('minute')
  // dayjs().get('second')
  // dayjs().get('millisecond')
  // 设置值
  dayjs().set('hour', 5).set('minute', 55).set('second', 15)
  // 实例中的最大最小 todo 需要先获取插件
  dayjs.max([dayjs(), dayjs('2018-01-01'), dayjs('2019-01-01')])
  dayjs.min(dayjs(), dayjs('2018-01-01'), dayjs('2019-01-01'))
  // 操作
  dayjs().add(7, 'day')
  dayjs().subtract(7, 'year')
  //  时间的开始
  dayjs().startOf('year')
  dayjs().endOf('year')
  // 显示
  //  相对当前时间 todo 依赖插件
  // dayjs('1999-01-01').fromNow() // 22 年前
  // dayjs('1999-01-01').fromNow(true) // 22 年前
  // // 相对指定时间（前）
  // var a = dayjs('2000-01-01')
  //
  // dayjs('1999-01-01').from(a) // 1 年前
  // 差异
  const date1 = dayjs('2019-01-25')
  const date2 = dayjs('2018-06-05')
  date1.diff(date2) // 20214000000 默认单位是毫秒
  date1.diff('2018-06-05', 'month') // 7
  // 查询 当使用第二个参数时，将会连同去比较更大的单位。 如传入 month 将会比较 month 和 year。 传入 day 将会比较 day、 month和 year。
  dayjs().isBefore(dayjs('2011-01-01')) // 默认毫秒
  dayjs().isBefore('2011-01-01', 'year')
  dayjs().isSame(dayjs('2011-01-01')) // 默认毫秒
  dayjs().isAfter(dayjs('2011-01-01')) // 默认毫秒
  dayjs().isAfter('2011-01-01', 'year')
  // 查询 todo 依赖插件
  // dayjs().isSameOrBefore(dayjs('2011-01-01')) // 默认毫秒
  // dayjs().isSameOrAfter(dayjs('2011-01-01')) // 默认毫秒
  // dayjs('2010-10-20').isBetween('2010-10-19', dayjs('2010-10-25'))
  // dayjs('2000-01-01').isLeapYear() // true
})
</script>

<style scoped lang="scss"></style>
